package com.yoda.youdianda.vo;

import com.yoda.youdianda.domain.SysConfig;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.BeanUtils;

/**
 * @author shawn
 * @date 2022年 11月 15日 10:43
 */

@Data
@AllArgsConstructor
@NoArgsConstructor
public class BaseConfigVo {
    private Integer id; //主键
    private String group_value; //配置分组 eg: 通知公告,站点配置,管理系统配置
    private String tab_value; //配置值 上一字段对应
    private String attr_key; //设置内容的key
    private String attr_name;//设置内容的name
    private String attr_value;//设置内容的value
    private Integer del_flag; // 逻辑删除字段
    private Integer type; //设置类型
    private String config_value; //配置值?z
    private String validator;//验证要求
    private String placeholder;//提示
    private Integer can_delete;//是否可以删除
    private Integer sort_num;//排序字段
    private String default_data;//是否是初始数据

    public static BaseConfigVo init(SysConfig config) {
        BaseConfigVo vo = new BaseConfigVo();
        BeanUtils.copyProperties(config, vo);
        vo.setGroup_value(config.getGroupValue());
        vo.setTab_value(config.getTabValue());
        vo.setAttr_key(config.getAttrKey());
        vo.setAttr_name(config.getAttrName());
        vo.setAttr_value(config.getAttrValue());
        vo.setDel_flag(config.getDelFlag());
        vo.setConfig_value(config.getConfigValue());
        vo.setCan_delete(config.getCanDelete());
        vo.setSort_num(config.getSortNum());
        return vo;
    }
}
